<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html>
<head>
<title>GTK+ programming tutorial</title>
<link rel="stylesheet" href="/cfg/format.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="keywords" content="GUI, GTK+, programming, tutorial, C, Linux">
<meta name="description" content="This is GTK+ programming tutorial. In this tutorial, 
we will learn the basics of GUI programming in GTK+ and C language">
<meta name="language" content="en">
<meta name="author" content="Jan Bodnar">
<meta name="distribution" content="global">

<script type="text/javascript" src="/lib/jquery.js"></script>
<script type="text/javascript" src="/lib/common.js"></script>

<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-5536206-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>


<body>

<div class="container">

<div id="wide_ad" class="ltow">
<script type="text/javascript"><!--
google_ad_client = "pub-9706709751191532";
/* 160x600, August 2011 */
google_ad_slot = "2484182563";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>

<div class="content">

<a href="/" title="Home">Home</a>


<h1>GTK+ tutorial</h1>

<p>
This is a GTK+ programming tutorial. In this tutorial, we will learn the basics
of GUI programming in GTK+ and C language. The GTK+ tutorial is suitable for 
beginners and intermediate programmers. 
</p>

<h2>Table of contents</h2>

<ul>
  <li><a href="introduction/">Introduction</a></li>
  <li><a href="firstprograms/">First Programs</a></li>
  <li><a href="menusandtoolbars/">Menus and Toolbars</a></li>
  <li><a href="gtklayoutmanagement/">Layout Management</a></li>
  <li><a href="gtkevents/">Events</a></li>
  <li><a href="gtkdialogs/">Dialogs</a></li>
  <li><a href="gtkwidgets/">Widgets </a></li>
  <li><a href="gtkwidgetsII/">Widgets II</a></li>
  <li><a href="gtktreeview/">GtkTreeView Widget</a></li>
  <li><a href="gtktextview/">GtkTextView Widget</a></li>
  <li><a href="customwidget/">Custom GTK+ Widget</a></li>
</ul>


<h2>GTK+</h2>

<p>
The GTK+ is a library for creating graphical user interfaces. The library is 
created in C programming language. The GTK+ library is also called the GIMP 
Toolkit. Originally, the library was created while developing the GIMP image 
manipulation program.
</p>

<p>
<a href="chinese/">Chinese</a> translation by chinalmy.
</p>

<div class="g-plusone"></div>
 
<h2>Similar tutorials</h2>

<p>
There are tutorials for various language bindings of GTK on 
ZetCode.
<a href="/gui/gtksharp/">GTK# tutorial</a>,
<a href="/gui/pygtk/">PyGTK tutorial</a>,
<a href="/gui/javagnome/">Java Gnome tutorial</a>,
<a href="/gui/vbgtk/">Visual Basic GTK# tutorial</a>,
and <a href="/gui/rubygtk/">Ruby GTK tutorial</a>.
<a href="/gfx/cairo/">Cairo graphics tutorial</a> is a
tutorial for creating 2D graphics with GTK backend also.
</p>


<div class="footer">
<div class="signature">
<a href="/">ZetCode::</a> last modified April 2, 2008 <span class="copyright">&copy; 2007 - 2012 Jan Bodnar</span>
</div>
</div> 

</div> <!-- content -->

</div> <!-- container -->

</body>
</html>

